home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 05 Programming / CDT128.ARC / GETARGS.C < prev    next >
Text File  |  2019-04-13  |  4KB  |  134 lines

  1. /***********************************************************************/
  2. /***********************************************************************/
  3. /*                                                                     */
  4. /* ╘HIS PROGRAM IS COPYRIGHT 1986 BY ┴LAN ┘ORINKS.  ╔T MAY BE FREELY   */
  5. /* DISTRIBUTED FOR NON COMMERCIAL USAGE IF THIS COPYRIGHT NOTICE IS    */
  6. /* LEFT INTACT. ├OMMERCIAL USAGE OF THIS PROGRAM IS EXPLICITLY         */
  7. /* FORBIDDEN WITHOUT THE WRITTEN PERMISSION OF THE AUTHOR.             */
  8. /*                                                                     */
  9. /***********************************************************************/
  10. /***********************************************************************/
  11.  
  12.  
  13. /*     CDT VERSION 1.0    PART 3 OF 15   ╩ULY 25, 1986                 */
  14.  
  15.  
  16. /* READ SEQUENTIAL VALUES FROM ARGUMENT LIST */
  17.  
  18.  
  19. #INCLUDE <STDIO.H>
  20. #INCLUDE "DBUG.H"
  21.  
  22. INT
  23. GETARGS( ARGV, COUNT, TYPE )
  24.     CHAR   *ARGV[] ;    /* ARGUMENT ARRAY FROM MAIN         */
  25.     INT    *COUNT ;     /* CURRENT ARGUMENT INDES           */
  26.     INT     TYPE ;      /* COMMAND TYPE REQUIRING ARGUMENTS */
  27.  
  28.     INT             RC ;
  29.     EXTERN  ╒╔╬╘    HATOI() ;
  30.     EXTERN  INT     STRLEN() ;
  31.     EXTERN  ┴╥╟╙    ALLARG ;
  32.  
  33.  
  34.     SWITCH( TYPE )
  35.     █
  36.         CASE ─╒═╨:
  37.         CASE ─┴╙═┬╠:
  38.             IF( (RC = STRLEN(ARGV[*COUNT]) > ┴─╥╠┼╬) )
  39.             █
  40.                 RETURN ┴╥╟┼╥╥ ;
  41.             ▌
  42.             ╙┴──╥(DSDMP) = (CHAR *) HATOI( ARGV[(*COUNT)++] );
  43.  
  44.             IF ( (RC = STRLEN(ARGV[*COUNT]) > ┴─╥╠┼╬) )
  45.             █
  46.                 RETURN ┴╥╟┼╥╥ ;
  47.             ▌
  48.             ┼┴──╥(DSDMP) = (CHAR *) HATOI( ARGV[(*COUNT)++] ) ;
  49.  
  50.             IF ( (RC = STRLEN(ARGV[*COUNT]) > ┬┘╘┼╠┼╬) )
  51.             █
  52.                 RETURN ┴╥╟┼╥╥ ;
  53.             ▌
  54. #IFNDEF ├64
  55.             ┬┴╬╦(DSDMP) = HATOI( ARGV[(*COUNT)++] ) ;        
  56. #ENDIF
  57.             BREAK ;
  58.  
  59.         CASE ╥┼┴─: 
  60.             IF( (RC = STRLEN(ARGV[*COUNT]) > ┴─╥╠┼╬) )
  61.             █
  62.                 RETURN ┴╥╟┼╥╥ ;
  63.             ▌
  64.             ┴──╥(RDBYTE) = (CHAR *) HATOI( ARGV[(*COUNT)++] );
  65.  
  66.             IF ( (RC = STRLEN(ARGV[*COUNT]) > ┬┘╘┼╠┼╬) )
  67.             █
  68.                 RETURN ┴╥╟┼╥╥ ;
  69.             ▌
  70. #IFNDEF ├64
  71.             ┬┴╬╦(RDBYTE) = HATOI( ARGV[(*COUNT)++] ) ;        
  72. #ENDIF
  73.             BREAK ;
  74.  
  75.  
  76.         CASE ╫╥╔╘┼:
  77.             IF( (RC = STRLEN(ARGV[*COUNT]) > ┴─╥╠┼╬) )
  78.             █
  79.                 RETURN ┴╥╟┼╥╥ ;
  80.             ▌
  81.             ┴──╥(WRTBYTE) = (CHAR *) HATOI( ARGV[(*COUNT)++] );
  82.  
  83.  
  84.             IF ( (RC = STRLEN(ARGV[*COUNT]) > ┬┘╘┼╠┼╬) )
  85.             █
  86.                 RETURN ┴╥╟┼╥╥ ;
  87.             ▌
  88.             ┬┘╘┼(WRTBYTE) = HATOI( ARGV[(*COUNT)++] ) ;
  89.  
  90.             IF ( (RC = STRLEN(ARGV[*COUNT]) > ┬┘╘┼╠┼╬) )
  91.             █
  92.                 RETURN ┴╥╟┼╥╥ ;
  93.             ▌
  94. #IFNDEF ├64
  95.             ┬┴╬╦(WRTBYTE) = HATOI( ARGV[(*COUNT)++] ) ;        
  96. #ENDIF
  97.             BREAK ;
  98.  
  99.         CASE ╞╔╬─:
  100.             IF( (RC = STRLEN(ARGV[*COUNT]) > ╙╘╥╠┼╬) )
  101.             █
  102.                 RETURN ┴╥╟┼╥╥ ;
  103.             ▌
  104.             STRNCPY( ╙╘╥╔╬╟(FND), ARGV[(*COUNT)++], ╙╘╥╠┼╬) ;
  105.  
  106.             IF( (RC = STRLEN(ARGV[*COUNT]) > ┴─╥╠┼╬) )
  107.             █
  108.                 RETURN ┴╥╟┼╥╥ ;
  109.             ▌
  110.             ╙┴──╥(FND) = (CHAR *) HATOI( ARGV[(*COUNT)++] );
  111.  
  112.             IF ( (RC = STRLEN(ARGV[*COUNT]) > ┴─╥╠┼╬) )
  113.             █
  114.                 RETURN ┴╥╟┼╥╥ ;
  115.             ▌
  116.             ┼┴──╥(FND) = (CHAR *) HATOI( ARGV[(*COUNT)++] ) ;
  117.  
  118.             IF ( (RC = STRLEN(ARGV[*COUNT]) > ┬┘╘┼╠┼╬) )
  119.             █
  120.                 RETURN ┴╥╟┼╥╥ ;
  121.             ▌
  122. #IFNDEF ├64
  123.             ┬┴╬╦(FND) = HATOI( ARGV[(*COUNT)++] ) ;        
  124. #ENDIF
  125.             BREAK ;
  126.  
  127.  
  128.         DEFAULT:
  129.             BREAK ;
  130.     ▌
  131.     RETURN ╬╒╠╠ ;
  132.